package com.sg.dto.base.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc QueryBlurQueryQuestionListReq
 * @使用场景
 */
@Data
public class QueryBlurQueryQuestionListReq
        extends BaseDto
        implements Serializable {

    /**
     * 问题编号
     */
    @ApiModelProperty("问题编号")
    private String questionNumber;

    /**
     * 问题文字简介
     */
    @ApiModelProperty("问题文字简介")
    private String questionIntroduce;

    /**
     * 问题等级 FATAL:致命 SERIOUS:严重 GENERAL:一般 TINY:微小
     */
    @ApiModelProperty("问题等级")
    private String questionLevel;

    /**
     * 问题状态 QUESTIONABILITY:待解决 RESOLVED:已解决 OVERTIME:已超时 SHELVE:暂搁置 REJECTED:已拒绝 SUSPENDED:已挂起 CLOSED:已关闭
     */
    @ApiModelProperty("问题状态")
    private String questionStatus;

    /**
     * 是否私密 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否私密")
    private String isPrivate;

    /**
     * 是否超时 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否超时")
    private String isOvertime;

    /**
     * 安排主体ID
     */
    @ApiModelProperty("安排主体ID")
    private String arrangeSubjectId;

    /**
     * 接收部门ID
     */
    @ApiModelProperty("接收部门ID")
    private String receiveSubjectId;

    /**
     * 冗余来源类型编码
     */
    @ApiModelProperty("冗余来源类型编码")
    private String sourceTypeCode;

    /**
     * 归属对象ID
     */
    @ApiModelProperty("归属对象ID")
    private String coordObjectId;

    /**
     * 业务应用标识
     */
    @ApiModelProperty("业务应用标识")
    private String bizAppCode;

    /**
     * 是否存档 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否存档")
    private String isArchive;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

    /**
     * 创建人就职记录ID
     */
    @ApiModelProperty("创建人就职记录ID")
    private String createInductionId;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 是否作废 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否作废")
    private String isValid;

    /**
     * 创建于空间ID
     */
    @NotNull(message = "创建于空间ID不能为空")
    @ApiModelProperty("创建于空间ID")
    private String spaceId;

}
